import Vue from 'vue'
import Vuex from 'vuex'
import printPaperSetting from './modules/printPaperSetting'
import recognition from './modules/recognition'
Vue.use(Vuex) // vue的插件机制
// Vuex.Store 构造器选项
const store = new Vuex.Store({
	strict: true,
	state: {
		hasLogin: false,
		token: '',
		store: {}
	},
	mutations: {
		//login 在用戶登后獲取服務器返回的數據進行賦值
		login(state, data) {
			state.token = data.token
			state.store = data.store // token
			state.hasLogin = true //修改登录状态， 表示已登录
			// 将数据保存在本地 在下次打开app的时候判断是否有值， 如果有值则更新全局变量
			uni.setStorageSync('store', data.store)
			uni.setStorageSync('token', data.token)
		},
		// logout 用户退出登录后清除数据
		logout(state) {
			state.store = {} //清空全局变量的数据
			state.hasLogin = false // 修改登录状态
			state.token = ''
			uni.removeStorageSync('store') //同步清空本地缓存
			uni.removeStorageSync('token')
		}
	},
	modules: {
		printPaperSetting,
		recognition
	}
})
export default store